diff options
Diffstat (limited to 'app/[lng]/engineering/(engineering)/system/password-policy/page.tsx')
| -rw-r--r-- | app/[lng]/engineering/(engineering)/system/password-policy/page.tsx | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/app/[lng]/engineering/(engineering)/system/password-policy/page.tsx b/app/[lng]/engineering/(engineering)/system/password-policy/page.tsx new file mode 100644 index 00000000..0f14fefe --- /dev/null +++ b/app/[lng]/engineering/(engineering)/system/password-policy/page.tsx @@ -0,0 +1,63 @@ +// app/admin/password-policy/page.tsx + +import * as React from "react" +import { Skeleton } from "@/components/ui/skeleton" +import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton" +import { Separator } from "@/components/ui/separator" +import { Alert, AlertDescription } from "@/components/ui/alert" +import { AlertTriangle } from "lucide-react" +import SecuritySettingsTable from "@/components/system/passwordPolicy" +import { getSecuritySettings } from "@/lib/password-policy/service" + + +export default async function PasswordPolicyPage() { + try { + // 보안 설정 데이터 로드 + const securitySettings = await getSecuritySettings() + + return ( + <React.Suspense + fallback={ + <DataTableSkeleton + columnCount={4} + searchableColumnCount={0} + filterableColumnCount={0} + cellWidths={["20rem", "30rem", "15rem", "10rem"]} + shrinkZero + /> + } + > + <div className="space-y-6"> + <div> + <h3 className="text-lg font-medium">협력업체 사용자 비밀번호 정책 설정</h3> + <p className="text-sm text-muted-foreground"> + 협력업체 사용자들을 위한 비밀번호 정책과 보안 설정을 관리할 수 있습니다. + </p> + </div> + <Separator /> + <SecuritySettingsTable initialSettings={securitySettings} /> + </div> + </React.Suspense> + ) + } catch (error) { + console.error('Failed to load security settings:', error) + + return ( + <div className="space-y-6"> + <div> + <h3 className="text-lg font-medium">협력업체 사용자 비밀번호 정책 설정</h3> + <p className="text-sm text-muted-foreground"> + 협력업체 사용자들을 위한 비밀번호 정책과 보안 설정을 관리할 수 있습니다. + </p> + </div> + <Separator /> + <Alert variant="destructive"> + <AlertTriangle className="h-4 w-4" /> + <AlertDescription> + 보안 설정을 불러오는 중 오류가 발생했습니다. 페이지를 새로고침하거나 관리자에게 문의하세요. + </AlertDescription> + </Alert> + </div> + ) + } +}
\ No newline at end of file |
